import request from '@/utils/request'

/**
 * 分页查询专家（带条件查询）
 * @param {Object} params - 查询参数（包含 pageNum、pageSize 以及查询条件 DTO）
 */
export function getExpertPage(params) {
    return request({
        url: '/expert/page',
        method: 'post', // 因为要传 DTO 查询条件，推荐用 POST
        params: { pageNum: params.pageNum, pageSize: params.pageSize },
        data: params.filters // 这里 filters 就是 ExpertDTO 对象
    })
}

/**
 * 获取专家详情
 * @param {Number} id - 专家ID
 */
export function getExpertById(id) {
    return request({
        url: `/expert/${id}`,
        method: 'get'
    })
}

/**
 * 新增专家
 * @param {Object} data - Expert 对象
 */
export function addExpert(data) {
    return request({
        url: '/expert',
        method: 'post',
        data
    })
}

/**
 * 更新专家
 * @param {Object} data - Expert 对象（必须包含 id）
 */
export function updateExpert(data) {
    return request({
        url: '/expert',
        method: 'post',
        data
    })
}

/**
 * 删除专家
 * @param {Number} id - 专家ID
 */
export function deleteExpert(id) {
    return request({
        url: `/expert/${id}`,
        method: 'delete'
    })
}

/**
 * 批量删除专家
 * @param {Array<Number>} ids - 专家ID数组
 */
export function deleteExpertBatch(ids) {
    return request({
        url: '/expert/del/batch',
        method: 'post',
        data: ids
    })
}
